-
Notifications
You must be signed in to change notification settings - Fork 409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix row key not in standard format #7901
Conversation
/run-all-tests |
1 similar comment
/run-all-tests |
142f9ad
to
b973a3a
Compare
/run-all-tests |
1 similar comment
/run-all-tests |
/run-unit-test |
/run-all-tests |
/run-all-tests |
/run-integration-test |
[LGTM Timeline notifier]Timeline:
|
/merge |
/run-all-tests |
/hold |
/run-all-tests |
/unhold |
In response to a cherrypick label: new pull request created to branch |
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
In response to a cherrypick label: new pull request created to branch |
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
In response to a cherrypick label: new pull request created to branch |
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
In response to a cherrypick label: new pull request created to branch |
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
In response to a cherrypick label: new pull request created to branch |
What problem does this PR solve?
Issue Number: close #3099 close #7762
Problem Summary: For int handle, the standard row key format should be t{tidb_id}_r{row_id}, but the cluster may generate keys not strictly adhere to this format. For example, it may append a
0x00
to the encoded value.When tiflash decode the key, it will ignore the suffix
0x00
and may get an invalid row key value.What is changed and how it works?
For row key which size is larger than the standard format, we add 1 on the decoded int key value.
This is ok, because
Note if the decoded int value is
Int64::max_value
, it is a value generated by tiflash itself which is RowKeyValue::INT_HANDLE_MAX_KEY. This is a special key to means +inf, so we can just ignore it.Check List
Tests
Side effects
Documentation
Release note